package sdto

import "time"


type UserAccountInfo struct {
	ID uint `json:"id" column:"id"` 
	Avatar string `json:"avatar" column:"avatar"` 
	WechatOpenId string `json:"wechat_open_id" column:"wechat_open_id"` 
	MiniAppOpenId string `json:"mini_app_open_id" column:"mini_app_open_id"` 
	HuaweiUnionID string `json:"huawei_union_id" column:"huawei_union_id"` 
	HuaweiOpenid string `json:"huawei_openid" column:"huawei_openid"` 
	Username string `json:"username" column:"username"` 
	Password string `json:"password" column:"password"` 
	Status uint8 `json:"status" column:"status"` 
	Phone string `json:"phone" column:"phone"` 
	Points uint `json:"points" column:"points"` 
	HuaweiPushToken string `json:"huawei_push_token" column:"huawei_push_token"` 
	VipEndAt time.Time `json:"vip_end_at" column:"vip_end_at"` 
	VipPermanent bool `json:"vip_permanent" column:"vip_permanent"` 
	IsCancel bool `json:"is_cancel" column:"is_cancel"` 
	CreatedAt time.Time `json:"created_at,omitempty" column:"created_at"` 
	UpdatedAt time.Time `json:"updated_at" column:"updated_at"` 

}


type UserAccountCreate struct {
	Avatar string `json:"avatar" column:"avatar"` 
	WechatOpenId string `json:"wechat_open_id" column:"wechat_open_id"` 
	MiniAppOpenId string `json:"mini_app_open_id" column:"mini_app_open_id"` 
	HuaweiUnionID string `json:"huawei_union_id" column:"huawei_union_id"` 
	HuaweiOpenid string `json:"huawei_openid" column:"huawei_openid"` 
	Username string `json:"username" column:"username"` 
	Password string `json:"password" column:"password"` 
	Status uint8 `json:"status" column:"status"` 
	Phone string `json:"phone" column:"phone"` 
	Points uint `json:"points" column:"points"` 
	HuaweiPushToken string `json:"huawei_push_token" column:"huawei_push_token"` 
	VipEndAt time.Time `json:"vip_end_at" column:"vip_end_at"` 
	VipPermanent bool `json:"vip_permanent" column:"vip_permanent"` 
	IsCancel bool `json:"is_cancel" column:"is_cancel"` 

}

type UserAccountUpdate struct {
	ID uint `json:"id" column:"id"` 
	Avatar string `json:"avatar" column:"avatar"` 
	WechatOpenId string `json:"wechat_open_id" column:"wechat_open_id"` 
	MiniAppOpenId string `json:"mini_app_open_id" column:"mini_app_open_id"` 
	HuaweiUnionID string `json:"huawei_union_id" column:"huawei_union_id"` 
	HuaweiOpenid string `json:"huawei_openid" column:"huawei_openid"` 
	Username string `json:"username" column:"username"` 
	Password string `json:"password" column:"password"` 
	Status uint8 `json:"status" column:"status"` 
	Phone string `json:"phone" column:"phone"` 
	Points uint `json:"points" column:"points"` 
	HuaweiPushToken string `json:"huawei_push_token" column:"huawei_push_token"` 
	VipEndAt time.Time `json:"vip_end_at" column:"vip_end_at"` 
	VipPermanent bool `json:"vip_permanent" column:"vip_permanent"` 
	IsCancel bool `json:"is_cancel" column:"is_cancel"` 

}

type UserAccountDelete struct {
	ID []uint `json:"id" column:"id"` 

}




// 表名定义，这样就可以直接把dto传给gorm直接处理并且能识别成正确的表名
func ( UserAccountInfo) TableName() string {
	return "user_account"
}

func ( UserAccountCreate) TableName() string {
	return "user_account"
}



func ( UserAccountUpdate) TableName() string {
	return "user_account"
}


func ( UserAccountDelete) TableName() string {
	return "user_account"
}